package algorithm;

/**
 * @author gabriella
 *
 */
public interface Algorithm {
	
	/**
	 * The algorithm run for each generation in the artificial life
	 * @param L array of individuals
	 */
	void cycle(byte L[]);
	
	/**
	 * Initializer for the population in the artificial life
	 * @return L array of individuals
	 */
	byte[] init();
	
	/**
	 * Get the number of cooperating individuals
	 * @return the number of cooperating individuals
	 */
	int getC();
	
	/**
	 * Get the number of defector individuals
	 * @return the number of defector individuals
	 */
	int getD();
}
